1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 package com.sun.imageio.plugins.jpeg;
27
28 import java.util.ListResourceBundle;
29
30 public class JPEGImageMetadataFormatResources
31 extends JPEGMetadataFormatResources {
32
33 static final Object[][] imageContents = {
34
35 { "JPEGvariety", "A node grouping all marker segments specific to the variety of stream being read/written (e.g. JFIF) - may be empty" },
36 { "markerSequence", "A node grouping all non-jfif marker segments" },
37 { "app0jfif", "A JFIF APP0 marker segment" },
38 { "app14Adobe", "An Adobe APP14 marker segment" },
39 { "sof", "A Start Of Frame marker segment" },
40 { "sos", "A Start Of Scan marker segment" },
41 { "app0JFXX", "A JFIF extension marker segment" },
42 { "app2ICC", "An ICC profile APP2 marker segment" },
43 { "JFIFthumbJPEG",
44 "A JFIF thumbnail in JPEG format (no JFIF segments permitted)" },
45 { "JFIFthumbPalette", "A JFIF thumbnail as an RGB indexed image" },
46 { "JFIFthumbRGB", "A JFIF thumbnail as an RGB image" },
47 { "componentSpec", "A component specification for a frame" },
48 { "scanComponentSpec", "A component specification for a scan" },
49
50
51 { "app0JFIF/majorVersion",
52 "The major JFIF version number" },
53 { "app0JFIF/minorVersion",
54 "The minor JFIF version number" },
55 { "app0JFIF/resUnits",
56 "The resolution units for Xdensity and Ydensity "
57 + "(0 = no units, just aspect ratio; 1 = dots/inch; 2 = dots/cm)" },
58 { "app0JFIF/Xdensity",
59 "The horizontal density or aspect ratio numerator" },
60 { "app0JFIF/Ydensity",
61 "The vertical density or aspect ratio denominator" },
62 { "app0JFIF/thumbWidth",
63 "The width of the thumbnail, or 0 if there isn't one" },
64 { "app0JFIF/thumbHeight",
65 "The height of the thumbnail, or 0 if there isn't one" },
66 { "app0JFXX/extensionCode",
67 "The JFXX extension code identifying thumbnail type: "
68 + "(16 = JPEG, 17 = indexed, 19 = RGB" },
69 { "JFIFthumbPalette/thumbWidth",
70 "The width of the thumbnail" },
71 { "JFIFthumbPalette/thumbHeight",
72 "The height of the thumbnail" },
73 { "JFIFthumbRGB/thumbWidth",
74 "The width of the thumbnail" },
75 { "JFIFthumbRGB/thumbHeight",
76 "The height of the thumbnail" },
77 { "app14Adobe/version",
78 "The version of Adobe APP14 marker segment" },
79 { "app14Adobe/flags0",
80 "The flags0 variable of an APP14 marker segment" },
81 { "app14Adobe/flags1",
82 "The flags1 variable of an APP14 marker segment" },
83 { "app14Adobe/transform",
84 "The color transform applied to the image "
85 + "(0 = Unknown, 1 = YCbCr, 2 = YCCK)" },
86 { "sof/process",
87 "The JPEG process (0 = Baseline sequential, "
88 + "1 = Extended sequential, 2 = Progressive)" },
89 { "sof/samplePrecision",
90 "The number of bits per sample" },
91 { "sof/numLines",
92 "The number of lines in the image" },
93 { "sof/samplesPerLine",
94 "The number of samples per line" },
95 { "sof/numFrameComponents",
96 "The number of components in the image" },
97 { "componentSpec/componentId",
98 "The id for this component" },
99 { "componentSpec/HsamplingFactor",
100 "The horizontal sampling factor for this component" },
101 { "componentSpec/VsamplingFactor",
102 "The vertical sampling factor for this component" },
103 { "componentSpec/QtableSelector",
104 "The quantization table to use for this component" },
105 { "sos/numScanComponents",
106 "The number of components in the scan" },
107 { "sos/startSpectralSelection",
108 "The first spectral band included in this scan" },
109 { "sos/endSpectralSelection",
110 "The last spectral band included in this scan" },
111 { "sos/approxHigh",
112 "The highest bit position included in this scan" },
113 { "sos/approxLow",
114 "The lowest bit position included in this scan" },
115 { "scanComponentSpec/componentSelector",
116 "The id of this component" },
117 { "scanComponentSpec/dcHuffTable",
118 "The huffman table to use for encoding DC coefficients" },
119 { "scanComponentSpec/acHuffTable",
120 "The huffman table to use for encoding AC coefficients" }
121 };
122
123 public JPEGImageMetadataFormatResources() {}
124
125 protected Object[][] getContents() {
126
127
128
129
130 Object[][] combinedContents =
131 new Object[commonContents.length + imageContents.length][2];
132 int combined = 0;
133 for (int i = 0; i < commonContents.length; i++, combined++) {
134 combinedContents[combined][0] = commonContents[i][0];
135 combinedContents[combined][1] = commonContents[i][1];
136 }
137 for (int i = 0; i < imageContents.length; i++, combined++) {
138 combinedContents[combined][0] = imageContents[i][0];
139 combinedContents[combined][1] = imageContents[i][1];
140 }
141 return combinedContents;
142 }
143 }